#ifndef HPLC_QINFINE_DETECTORSENDSYSTEMPACKET_H
#define HPLC_QINFINE_DETECTORSENDSYSTEMPACKET_H

#include "detectorsendpacket.h"

namespace hplc
{
namespace qinfine
{

class DetectorProtocolData;
class DetectorSendSystemPacket
{
public:
    DetectorSendSystemPacket(DetectorProtocolData &data);

    void setCoil(quint8 flag);
    void getCoil();
    void setTimeIntegral(quint16 timeInte);
    void getTimeIntegral();
    void setRangeIntegral(quint8 rangeInteIndex);
    void getRangeIntegral();
    void setAuFactor(float factor);
    void getAuFactor();
    void setRasterStep(quint8 dir, quint32 step);
    void setHomeOffset(qint32 offset);
    void getHomeOffset();
    void setWaveOffset(quint32 offset);
    void getWaveOffset();
    void setWorkMode(quint8 mode, quint8 flag);
    void getWorkMode();
    void setWaveCalibDataCMD(quint8 cmd);
    void setWaveCalibData(float wave, float realWave);
    void getWaveCalibData();
    void setLampUsedTime(quint32 time);
    void getLampUsedTime();
    void setLampOnOffTimes(quint16 times);
    void getLampOnOffTimes();
    void setLampCount(quint8 count);
    void getLampCount();
    void setDACZeroVoltage(float voltage);
    void getDACZeroVoltage();
    void setUploadObject(quint8 object);
    void getUploadObject();
    void setHomeTimeIntegral(quint16 timeInte);
    void getHomeTimeIntegral();
    void setHomeRangeIntegral(quint8 rangeInteIndex);
    void getHomeRangeIntegral();
    void setRefMin(quint32 min);
    void getRefMin();
    void setSamMin(quint32 min);
    void getSamMin();

protected:
    DetectorProtocolData *m_d = nullptr;
};

} // qinfine
} // hplc

#endif // HPLC_QINFINE_DETECTORSENDSYSTEMPACKET_H
